This is the code for the statistical analysis for “Vowel Acoustics as Predictors of Speech Intelligibility in Dysarthria.”
library(rio)
library(tidyverse)
library(irr) # install.packages('irr')
library(performance)
library(car)
library(ggpubr)
library("Hmisc") # install.packages('Hmisc')
library(ggridges)
library(furniture) # install.packages('furniture')
library(gt)
library(patchwork)
library(ks)
library(emuR) # install.packages('emuR')
library(geomtextpath) # remotes::install_github("AllanCameron/geomtextpath")
Reliability <- rio::import("Prepped Data/Reliability Data.csv")
AcousticData <- rio::import("Prepped Data/AcousticMeasures.csv") %>%
dplyr::mutate(intDiff = VAS - transAcc)
AcousticData <- AcousticData %>%
dplyr::filter(!grepl("_rel", Speaker)) %>%
dplyr::select(c(Speaker, Sex, Etiology, vowel_ED_b, VSA_b, Hull_b, Hull_bVSD_25, Hull_bVSD_50, Hull_bVSD_75, VAS, transAcc))
Listeners <- rio::import("Prepped Data/Listener_Demographics.csv") %>%
dplyr::select(!c(StartDate:proloficID, Q2.4_6_TEXT, Q3.2_8_TEXT, AudioCheck:EP3))
Listeners$race[Listeners$Q3.3_7_TEXT == "Native American/ African amercing"] <- "Biracial or Multiracial"
In this alternate analysis, we are looking at the relationship between these acoustic measures with speech intelligibility for the ALS/PD and the HD/Ataxic speakers separately. We create a new variable called Incoord, where the ALS/PD Speakers are set as the reference group (in order to compare to the Ataxic/HD Speaker Group). Group Comparisons, additional data visualizations, and further linear model comparisons are completed.
# Creating a new variable in AcousticData. Incoord is a dummy variable. ALS/PD Speakers = 0, HD/Ataxic = 1
AcousticData <- AcousticData %>%
dplyr::mutate(Incoord = case_when(Etiology == "HD" ~ 1,
Etiology == "Ataxic" ~ 1,
TRUE ~ 0)) %>%
dplyr::mutate(Incoord = as.factor(Incoord))
Descriptives_ALS.PD_incoord <- AcousticData %>%
dplyr::group_by(Incoord) %>%
dplyr::summarize(VSA_mean = mean(VSA_b, na.rm =T), VSA_sd = sd(VSA_b, na.rm = T),
Disp_mean = mean(vowel_ED_b, na.rm =T), Disp_sd = sd(vowel_ED_b, na.rm =T),
Hull_mean = mean(Hull_b, na.rm =T), Hull_sd = sd(Hull_b, na.rm =T),
VSD25_mean = mean(Hull_bVSD_25, na.rm =T), VSD25_sd = sd(Hull_bVSD_25, na.rm =T),
VSD50_mean = mean(Hull_bVSD_50, na.rm =T), VSD50_sd = sd(Hull_bVSD_50, na.rm =T),
VSD75_mean = mean(Hull_bVSD_75, na.rm =T), VSD75_sd = sd(Hull_bVSD_75, na.rm =T),
VAS_mean = mean(VAS, na.rm =T), VAS_sd = sd(VAS, na.rm =T),
OT_mean = mean(transAcc, na.rm =T), OT_sd = sd(transAcc, na.rm =T))
Descriptives_ALS.PD_incoord
NA
# VSA Ridgeline Plot by Incoordination (Incoord = 0 are ALS/PD Speakers, Incoord == 1 are HD/Ataxic Speakers)
VSA_incoord.plot <- AcousticData %>%
ggplot() +
aes(x = VSA_b,
y = Incoord,
color = Incoord,
fill = Incoord) +
geom_density_ridges(jittered_points = T,
position = position_points_jitter(width = 0.01, height = 0),
point_shape = '|',
point_size = 5,
point_alpha = 1,
alpha = 0.7,
scale = .7) +
xlab("Vowel Space Area (Bark)") +
theme_classic()
# Corner Dispersion Ridgeline Plot by Incoordination (Incoord = 0 are ALS/PD Speakers, Incoord == 1 are HD/Ataxic Speakers)
disp_incoord.plot <- AcousticData %>%
ggplot() +
aes(x = vowel_ED_b,
y = Incoord,
color = Incoord,
fill = Incoord) +
geom_density_ridges(jittered_points = T,
position = position_points_jitter(width = 0.01, height = 0),
point_shape = '|',
point_size = 5,
point_alpha = 1,
alpha = 0.7,
scale = .7) +
xlab("Corner Dispersion (Bark)") +
theme_classic()
# Hull Ridgeline Plot by Incoordination (Incoord = 0 are ALS/PD Speakers, Incoord == 1 are HD/Ataxic Speakers)
hull_incoord.plot <- AcousticData %>%
ggplot() +
aes(x = Hull_b,
y = Incoord,
color = Incoord,
fill = Incoord) +
geom_density_ridges(jittered_points = T,
position = position_points_jitter(width = 0.01, height = 0),
point_shape = '|',
point_size = 5,
point_alpha = 1,
alpha = 0.7,
scale = .7) +
xlab("Vowel Space Hull (Bark)") +
theme_classic()
# VSD 25 Ridgeline Plot by Incoordination (Incoord = 0 are ALS/PD Speakers, Incoord == 1 are HD/Ataxic Speakers)
vsd25_incoord.plot <- AcousticData %>%
ggplot() +
aes(x = Hull_bVSD_25,
y = Incoord,
color = Incoord,
fill = Incoord) +
geom_density_ridges(jittered_points = T,
position = position_points_jitter(width = 0.01, height = 0),
point_shape = '|',
point_size = 5,
point_alpha = 1,
alpha = 0.7,
scale = .7) +
xlab("Vowel Space Desnity 25 (Bark)") +
theme_classic()
# VSD 50 Ridgeline Plot by Incoordination (Incoord = 0 are ALS/PD Speakers, Incoord == 1 are HD/Ataxic Speakers)
vsd50_incoord.plot <- AcousticData %>%
ggplot() +
aes(x = Hull_bVSD_50,
y = Incoord,
color = Incoord,
fill = Incoord) +
geom_density_ridges(jittered_points = T,
position = position_points_jitter(width = 0.01, height = 0),
point_shape = '|',
point_size = 5,
point_alpha = 1,
alpha = 0.7,
scale = .7) +
xlab("Vowel Space Desnity 50 (Bark)") +
theme_classic()
# VSD 75 Ridgeline Plot by Incoordination (Incoord = 0 are ALS/PD Speakers, Incoord == 1 are HD/Ataxic Speakers)
vsd75_incoord.plot <- AcousticData %>%
ggplot() +
aes(x = Hull_bVSD_75,
y = Incoord,
color = Incoord,
fill = Incoord) +
geom_density_ridges(jittered_points = T,
position = position_points_jitter(width = 0.01, height = 0),
point_shape = '|',
point_size = 5,
point_alpha = 1,
alpha = 0.7,
scale = .7) +
xlab("Vowel Space Desnity 75 (Bark)") +
theme_classic()
# Orthographic Transcription Ridgeline Plot by Incoordination (Incoord = 0 are ALS/PD Speakers, Incoord == 1 are HD/Ataxic Speakers)
OT_incoord.plot <- AcousticData %>%
ggplot() +
aes(x = transAcc,
y = Incoord,
color = Incoord,
fill = Incoord) +
geom_density_ridges(jittered_points = T,
position = position_points_jitter(width = 0.01, height = 0),
point_shape = '|',
point_size = 5,
point_alpha = 1,
alpha = 0.7,
scale = .7) +
xlab("Percent Words Correct") +
theme_classic()
# Visual Analog Scale Intelligibility Rating Ridgeline Plot by Incoordination (Incoord = 0 are ALS/PD Speakers, Incoord == 1 are HD/Ataxic Speakers)
VAS_incoord.plot <- AcousticData %>%
ggplot() +
aes(x = VAS,
y = Incoord,
color = Incoord,
fill = Incoord) +
geom_density_ridges(jittered_points = T,
position = position_points_jitter(width = 0.01, height = 0),
point_shape = '|',
point_size = 5,
point_alpha = 1,
alpha = 0.7,
scale = .7) +
xlab("Ratigns") +
theme_classic()
# Creating Distributions by Incoord Figure
Distributions_incoord <- ggpubr::ggarrange(VSA_incoord.plot, disp_incoord.plot, hull_incoord.plot, vsd25_incoord.plot, vsd50_incoord.plot, vsd75_incoord.plot, OT_incoord.plot, VAS_incoord.plot,
ncol = 2,
nrow = 4)
Picking joint bandwidth of 0.637
Picking joint bandwidth of 0.144
Picking joint bandwidth of 3.74
Picking joint bandwidth of 3.27
Picking joint bandwidth of 1.93
Picking joint bandwidth of 0.764
Picking joint bandwidth of 10.1
Picking joint bandwidth of 13
# Saving Distribution Figure
ggsave("Plots/Distribution_incoord.png", plot = last_plot(), width = 10, height = 10, unit = "in")
# OT Scatterplots by Incoord
OT_VSA.incoord <- AcousticData %>%
ggplot() +
aes(x = VSA_b,
y = transAcc,
color = Incoord) +
geom_point() +
geom_smooth(method = "lm", se = F) +
xlab("Vowel Space Area (Bark)") +
ylab("Percent Words Correct") +
ggtitle("Orthographic Transcription") +
coord_cartesian(ylim = c(0,100)) +
theme_classic() +
theme(plot.title = element_text(hjust = 0.5, face = "bold"))
OT_disp.incoord <- AcousticData %>%
ggplot() +
aes(x = vowel_ED_b,
y = transAcc,
color = Incoord) +
geom_point() +
geom_smooth(method = "lm", se = F) +
xlab("Corner Dispersion (Bark)") +
ylab("Percent Words Correct") +
coord_cartesian(ylim = c(0,100)) +
theme_classic()
OT_Hull.incoord <- AcousticData %>%
ggplot() +
aes(x = Hull_b,
y = transAcc,
color = Incoord) +
geom_point() +
geom_smooth(method = "lm", se = F) +
xlab("Vowel Space Hull (Bark)") +
ylab("Percent Words Correct") +
coord_cartesian(ylim = c(0,100)) +
theme_classic()
OT_vsd25.incoord <- AcousticData %>%
ggplot() +
aes(x = Hull_bVSD_25,
y = transAcc,
color = Incoord) +
geom_point() +
geom_smooth(method = "lm", se = F) +
xlab("Vowel Space Density 25 (Bark)") +
ylab("Percent Words Correct") +
coord_cartesian(ylim = c(0,100)) +
theme_classic()
OT_vsd75.incoord <- AcousticData %>%
ggplot() +
aes(x = Hull_bVSD_75,
y = transAcc,
color = Incoord) +
geom_point() +
geom_smooth(method = "lm", se = F) +
xlab("Vowel Space Density 75 (Bark)") +
ylab("Percent Words Correct") +
coord_cartesian(ylim = c(0,100)) +
theme_classic()
# VAS Scatterplots
VAS_VSA.incoord <- AcousticData %>%
ggplot() +
aes(x = VSA_b,
y = VAS,
color = Incoord) +
geom_point() +
geom_smooth(method = "lm", se = F) +
xlab("Vowel Space Area (Bark)") +
ylab("VAS Score") +
ggtitle("Visual Analog Scale") +
coord_cartesian(ylim = c(0,100)) +
theme_classic() +
theme(plot.title = element_text(hjust = 0.5, face = "bold"))
VAS_disp.incoord <- AcousticData %>%
ggplot() +
aes(x = vowel_ED_b,
y = VAS,
color = Incoord) +
geom_point() +
geom_smooth(method = "lm", se = F) +
xlab("Corner Dispersion (Bark)") +
ylab("VAS Score") +
coord_cartesian(ylim = c(0,100)) +
theme_classic()
VAS_Hull.incoord <- AcousticData %>%
ggplot() +
aes(x = Hull_b,
y = VAS,
color = Incoord) +
geom_point() +
geom_smooth(method = "lm", se = F) +
xlab("Vowel Space Hull (Bark)") +
ylab("VAS Score") +
coord_cartesian(ylim = c(0,100)) +
theme_classic()
VAS_vsd25.incoord <- AcousticData %>%
ggplot() +
aes(x = Hull_bVSD_25,
y = VAS,
color = Incoord) +
geom_point() +
geom_smooth(method = "lm", se = F) +
xlab("Vowel Space Density 25 (Bark)") +
ylab("VAS Score") +
coord_cartesian(ylim = c(0,100)) +
theme_classic()
VAS_vsd75.incoord <- AcousticData %>%
ggplot() +
aes(x = Hull_bVSD_75,
y = VAS,
color = Incoord) +
geom_point() +
geom_smooth(method = "lm", se = F) +
xlab("Vowel Space Density 75 (Bark)") +
ylab("VAS Score") +
coord_cartesian(ylim = c(0,100)) +
theme_classic()
# Creating Scatterplot Figure
Scatterplots_incoord <- ggpubr::ggarrange(OT_VSA.incoord, VAS_VSA.incoord, OT_disp.incoord, VAS_disp.incoord, OT_Hull.incoord, VAS_Hull.incoord, OT_vsd25.incoord, VAS_vsd25.incoord, OT_vsd75.incoord, VAS_vsd75.incoord,
ncol = 2,
nrow = 5)
## Saving Scatterplot Figure
ggsave("Plots/Scatterplots_incoord.png", plot = last_plot(), width = 15, height = 20, unit = "in", scale = .5)
AcousticData %>%
dplyr::group_by(Sex, Etiology) %>%
dplyr::summarize(VSA_mean = mean(VSA_b, na.rm =T), VSA_sd = sd(VSA_b, na.rm = T),
Disp_mean = mean(vowel_ED_b, na.rm =T), Disp_sd = sd(vowel_ED_b, na.rm =T),
Hull_mean = mean(Hull_b, na.rm =T), Hull_sd = sd(Hull_b, na.rm =T),
VSD25_mean = mean(Hull_bVSD_25, na.rm =T), VSD25_sd = sd(Hull_bVSD_25, na.rm =T),
VSD50_mean = mean(Hull_bVSD_50, na.rm =T), VSD50_sd = sd(Hull_bVSD_50, na.rm =T),
VSD75_mean = mean(Hull_bVSD_75, na.rm =T), VSD75_sd = sd(Hull_bVSD_75, na.rm =T),
VAS_mean = mean(VAS, na.rm =T), VAS_sd = sd(VAS, na.rm =T),
OT_mean = mean(transAcc, na.rm =T), OT_sd = sd(transAcc, na.rm =T))
AcousticData %>%
dplyr::group_by(Sex) %>%
dplyr::summarize(VSA_mean = mean(VSA_b, na.rm =T), VSA_sd = sd(VSA_b, na.rm = T),
Disp_mean = mean(vowel_ED_b, na.rm =T), Disp_sd = sd(vowel_ED_b, na.rm =T),
Hull_mean = mean(Hull_b, na.rm =T), Hull_sd = sd(Hull_b, na.rm =T),
VSD25_mean = mean(Hull_bVSD_25, na.rm =T), VSD25_sd = sd(Hull_bVSD_25, na.rm =T),
VSD50_mean = mean(Hull_bVSD_50, na.rm =T), VSD50_sd = sd(Hull_bVSD_50, na.rm =T),
VSD75_mean = mean(Hull_bVSD_75, na.rm =T), VSD75_sd = sd(Hull_bVSD_75, na.rm =T),
VAS_mean = mean(VAS, na.rm =T), VAS_sd = sd(VAS, na.rm =T),
OT_mean = mean(transAcc, na.rm =T), OT_sd = sd(transAcc, na.rm =T))
AcousticData %>%
dplyr::group_by(Etiology) %>%
dplyr::summarize(VSA_mean = mean(VSA_b, na.rm =T), VSA_sd = sd(VSA_b, na.rm = T),
Disp_mean = mean(vowel_ED_b, na.rm =T), Disp_sd = sd(vowel_ED_b, na.rm =T),
Hull_mean = mean(Hull_b, na.rm =T), Hull_sd = sd(Hull_b, na.rm =T),
VSD25_mean = mean(Hull_bVSD_25, na.rm =T), VSD25_sd = sd(Hull_bVSD_25, na.rm =T),
VSD50_mean = mean(Hull_bVSD_50, na.rm =T), VSD50_sd = sd(Hull_bVSD_50, na.rm =T),
VSD75_mean = mean(Hull_bVSD_75, na.rm =T), VSD75_sd = sd(Hull_bVSD_75, na.rm =T),
VAS_mean = mean(VAS, na.rm =T), VAS_sd = sd(VAS, na.rm =T),
OT_mean = mean(transAcc, na.rm =T), OT_sd = sd(transAcc, na.rm =T))
VSA
## Specify the Model
VSA_group <- aov(VSA_b ~ Etiology, data = AcousticData)
## Assumption Check
plot(VSA_group, 1)
plot(VSA_group, 2)
car::leveneTest(VSA_group)
VSA_residuals <- residuals(object = VSA_group)
shapiro.test(VSA_residuals)
## Model Results
summary(VSA_group)
## Kruskal-Wallis Test
kruskal.test(VSA_b ~ Etiology, data = AcousticData)
## Pairwise Comparisons
pairwise.wilcox.test(AcousticData$VSA_b, AcousticData$Etiology, p.adjust.method = "bonferroni")
Corner Dispersion
## Specify the Model
disp_group <- aov(vowel_ED_b ~ Etiology, data = AcousticData)
## Assumption Check
plot(disp_group, 1)
plot(disp_group, 2)
car::leveneTest(disp_group)
disp_residuals <- residuals(object = disp_group)
shapiro.test(disp_residuals)
## Model Results
summary(disp_group)
Hull
## Specify the Model
hull_group <- aov(Hull_b ~ Etiology, data = AcousticData)
## Assumption Check
plot(hull_group, 1)
plot(hull_group, 2)
car::leveneTest(hull_group)
hull_residuals <- residuals(object = hull_group)
shapiro.test(hull_residuals)
## Model Results
summary(hull_group)
VSD 25
## Specify the Model
vsd25_group <- aov(Hull_bVSD_25 ~ Etiology, data = AcousticData)
## Assumption Check
plot(vsd25_group, 1)
plot(vsd25_group, 2)
car::leveneTest(vsd25_group)
vsd25_residuals <- residuals(object = vsd25_group)
shapiro.test(vsd25_residuals)
## Model Summary
summary(vsd25_group)
VSD 50
## Specify the Model
vsd50_group <- aov(Hull_bVSD_50 ~ Etiology, data = AcousticData)
## Assumption Check
plot(vsd50_group, 1)
plot(vsd50_group, 2)
car::leveneTest(vsd50_group)
vsd50_residuals <- residuals(object = vsd50_group)
shapiro.test(vsd50_residuals)
## Model Results
summary(vsd50_group)
## Kruskal Wallis Test
kruskal.test(Hull_bVSD_50 ~ Etiology, data = AcousticData)
VSD 75
## Specify the Model
vsd75_group <- aov(Hull_bVSD_75 ~ Etiology, data = AcousticData)
## Assumption Check
plot(vsd75_group, 1)
plot(vsd75_group, 2)
car::leveneTest(vsd75_group)
vsd75_residuals <- residuals(object = vsd75_group)
shapiro.test(vsd75_residuals)
## Model Summary
summary(vsd75_group)
## Kruskal Wallis
kruskal.test(Hull_bVSD_75 ~ Etiology, data = AcousticData)
coord.group <- AcousticData %>%
dplyr::filter(Incoord == 0)
incoord.group <- AcousticData %>%
dplyr::filter(Incoord == 1)
# Assumption Check
## Checking Normality
with(AcousticData, shapiro.test(VSA_b[Incoord == 0]))
Shapiro-Wilk normality test
data: VSA_b[Incoord == 0]
W = 0.94206, p-value = 0.2622
with(AcousticData, shapiro.test(VSA_b[Incoord == 1]))
Shapiro-Wilk normality test
data: VSA_b[Incoord == 1]
W = 0.81843, p-value = 0.001648
## Equal Variance Check
res.ftest.VSA <- var.test(VSA_b ~ Incoord, data = AcousticData)
res.ftest.VSA
F test to compare two variances
data: VSA_b by Incoord
F = 0.66898, num df = 19, denom df = 19, p-value = 0.3888
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
0.2647915 1.6901522
sample estimates:
ratio of variances
0.6689828
# Model Results
VSA_b_t <- t.test(incoord.group$VSA_b, coord.group$VSA_b, var.equal = T)
VSA_b_t
Two Sample t-test
data: incoord.group$VSA_b and coord.group$VSA_b
t = 2.8889, df = 38, p-value = 0.006352
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
0.519310 2.951478
sample estimates:
mean of x mean of y
5.289125 3.553732
# Assumption Check
## Checking Normality
with(AcousticData, shapiro.test(vowel_ED_b[Incoord == 0]))
Shapiro-Wilk normality test
data: vowel_ED_b[Incoord == 0]
W = 0.93799, p-value = 0.2197
with(AcousticData, shapiro.test(vowel_ED_b[Incoord == 1]))
Shapiro-Wilk normality test
data: vowel_ED_b[Incoord == 1]
W = 0.9837, p-value = 0.9725
## Equal Variance Check
res.ftest.disp <- var.test(vowel_ED_b ~ Incoord, data = AcousticData)
res.ftest.disp
F test to compare two variances
data: vowel_ED_b by Incoord
F = 1.2328, num df = 19, denom df = 19, p-value = 0.6528
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
0.4879679 3.1146765
sample estimates:
ratio of variances
1.232827
# Model Results
disp_t <- t.test(incoord.group$vowel_ED_b, coord.group$vowel_ED_b, var.equal = T)
disp_t
Two Sample t-test
data: incoord.group$vowel_ED_b and coord.group$vowel_ED_b
t = 2.031, df = 38, p-value = 0.04929
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
0.000790061 0.485404644
sample estimates:
mean of x mean of y
2.165220 1.922123
# Assumption Check
## Checking Normality
with(AcousticData, shapiro.test(Hull_b[Incoord == 0]))
Shapiro-Wilk normality test
data: Hull_b[Incoord == 0]
W = 0.93152, p-value = 0.1652
with(AcousticData, shapiro.test(Hull_b[Incoord == 1]))
Shapiro-Wilk normality test
data: Hull_b[Incoord == 1]
W = 0.96708, p-value = 0.6923
## Equal Variance Check
res.ftest.hull <- var.test(Hull_b ~ Incoord, data = AcousticData)
res.ftest.hull
F test to compare two variances
data: Hull_b by Incoord
F = 1.7881, num df = 19, denom df = 19, p-value = 0.2144
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
0.7077388 4.5174646
sample estimates:
ratio of variances
1.788067
# Model Results
hull_t <- t.test(incoord.group$Hull_b, coord.group$Hull_b, var.equal = T)
hull_t
Two Sample t-test
data: incoord.group$Hull_b and coord.group$Hull_b
t = 2.4391, df = 38, p-value = 0.0195
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
1.084279 11.670189
sample estimates:
mean of x mean of y
34.14243 27.76520
# Assumption Check
## Checking Normality
with(AcousticData, shapiro.test(Hull_bVSD_25[Incoord == 0]))
Shapiro-Wilk normality test
data: Hull_bVSD_25[Incoord == 0]
W = 0.93529, p-value = 0.1951
with(AcousticData, shapiro.test(Hull_bVSD_25[Incoord == 1]))
Shapiro-Wilk normality test
data: Hull_bVSD_25[Incoord == 1]
W = 0.966, p-value = 0.6692
## Equal Variance Check
res.ftest.vsd25 <- var.test(Hull_bVSD_25 ~ Incoord, data = AcousticData)
res.ftest.vsd25
F test to compare two variances
data: Hull_bVSD_25 by Incoord
F = 1.2396, num df = 19, denom df = 19, p-value = 0.6444
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
0.4906358 3.1317059
sample estimates:
ratio of variances
1.239567
# Model Results
vsd25_t <- t.test(incoord.group$Hull_bVSD_25, coord.group$Hull_bVSD_25, var.equal = T)
vsd25_t
Two Sample t-test
data: incoord.group$Hull_bVSD_25 and coord.group$Hull_bVSD_25
t = 1.4368, df = 38, p-value = 0.159
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-1.234943 7.274708
sample estimates:
mean of x mean of y
17.36480 14.34491
# Assumption Check
## Checking Normality
with(AcousticData, shapiro.test(Hull_bVSD_50[Incoord == 0]))
with(AcousticData, shapiro.test(Hull_bVSD_50[Incoord == 1]))
## Equal Variance Check
res.ftest.vsd50 <- var.test(Hull_bVSD_50 ~ Incoord, data = AcousticData)
res.ftest.vsd50
# Model Results (Mann-Whitney U test conducted since assumption of normality is violated)
vsd50_MW <- wilcox.test(Hull_bVSD_50 ~ Incoord, data = AcousticData)
vsd50_MW
# Assumption Check
## Checking Normality
with(AcousticData, shapiro.test(Hull_bVSD_75[Incoord == 0]))
Shapiro-Wilk normality test
data: Hull_bVSD_75[Incoord == 0]
W = 0.69079, p-value = 3.017e-05
with(AcousticData, shapiro.test(Hull_bVSD_75[Incoord == 1]))
Shapiro-Wilk normality test
data: Hull_bVSD_75[Incoord == 1]
W = 0.84373, p-value = 0.004193
## Equal Variance Check
res.ftest.vsd75 <- var.test(Hull_bVSD_75 ~ Incoord, data = AcousticData)
res.ftest.vsd75
F test to compare two variances
data: Hull_bVSD_75 by Incoord
F = 1.1578, num df = 19, denom df = 19, p-value = 0.7527
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
0.4582864 2.9252210
sample estimates:
ratio of variances
1.157838
# Model Results (Mann-Whitney U test conducted since assumption of normality is violated)
vsd75_MW <- wilcox.test(Hull_bVSD_75 ~ Incoord, data = AcousticData)
vsd75_MW
Wilcoxon rank sum exact test
data: Hull_bVSD_75 by Incoord
W = 160, p-value = 0.2888
alternative hypothesis: true location shift is not equal to 0
# Assumption Check
## Checking Normality
with(AcousticData, shapiro.test(transAcc[Incoord == 0]))
Shapiro-Wilk normality test
data: transAcc[Incoord == 0]
W = 0.87029, p-value = 0.01189
with(AcousticData, shapiro.test(transAcc[Incoord == 1]))
Shapiro-Wilk normality test
data: transAcc[Incoord == 1]
W = 0.91581, p-value = 0.0823
## Equal Variance Check
res.ftest.OT <- var.test(transAcc ~ Incoord, data = AcousticData)
res.ftest.OT
F test to compare two variances
data: transAcc by Incoord
F = 1.082, num df = 19, denom df = 19, p-value = 0.8654
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
0.4282721 2.7336414
sample estimates:
ratio of variances
1.082009
# Model Results (Mann-Whitney U test conducted since assumption of normality is violated)
OT_MW <- wilcox.test(transAcc ~ Incoord, data = AcousticData)
OT_MW
Wilcoxon rank sum exact test
data: transAcc by Incoord
W = 194, p-value = 0.8831
alternative hypothesis: true location shift is not equal to 0
# Assumption Check
## Checking Normality
with(AcousticData, shapiro.test(VAS[Incoord == 0]))
Shapiro-Wilk normality test
data: VAS[Incoord == 0]
W = 0.87506, p-value = 0.01444
with(AcousticData, shapiro.test(VAS[Incoord == 1]))
Shapiro-Wilk normality test
data: VAS[Incoord == 1]
W = 0.91494, p-value = 0.07923
## Equal Variance Check
res.ftest.VAS <- var.test(VAS ~ Incoord, data = AcousticData)
res.ftest.VAS
F test to compare two variances
data: VAS by Incoord
F = 1.0744, num df = 19, denom df = 19, p-value = 0.8774
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:
0.4252539 2.7143765
sample estimates:
ratio of variances
1.074383
# Model Results (Mann-Whitney U test conducted since assumption of normality is violated)
OT_MW <- wilcox.test(VAS ~ Incoord, data = AcousticData)
OT_MW
Wilcoxon rank sum exact test
data: VAS by Incoord
W = 207, p-value = 0.862
alternative hypothesis: true location shift is not equal to 0
Since we found significant group differences for some acoustic measures between the ALS/PD and Ataxic/HD groups, we continued the heirarichal regression approach from OT Model 5. Adding in the Incoord predictor along with the interactions between the acoustic measures did not significantly improve model fit. So our original final OT model is retained.
## Specifying Model 6
OT_Model6 <- lm(transAcc ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b + Incoord, data = AcousticData)
## Model 6 Assumption Check
performance::check_model(OT_Model6)
## Model 6 Summary
summary(OT_Model6)
Call:
lm(formula = transAcc ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b +
VSA_b + vowel_ED_b + Incoord, data = AcousticData)
Residuals:
Min 1Q Median 3Q Max
-42.105 -11.266 4.121 13.717 31.536
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 17.5375 21.0257 0.834 0.4102
Hull_bVSD_25 -1.6809 1.1892 -1.413 0.1669
Hull_bVSD_75 0.9833 2.1390 0.460 0.6487
Hull_b 1.0629 0.7946 1.338 0.1901
VSA_b 6.5678 2.6475 2.481 0.0184 *
vowel_ED_b 4.8102 12.8358 0.375 0.7102
Incoord1 -12.8123 7.6496 -1.675 0.1034
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 21.02 on 33 degrees of freedom
Multiple R-squared: 0.346, Adjusted R-squared: 0.2271
F-statistic: 2.91 on 6 and 33 DF, p-value: 0.02173
## Model 5 and Model 6 Comparison
anova(OT_Model5, OT_Model6)
Analysis of Variance Table
Model 1: transAcc ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b
Model 2: transAcc ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord
Res.Df RSS Df Sum of Sq F Pr(>F)
1 34 15823
2 33 14583 1 1239.7 2.8053 0.1034
## Specifying Model 7
OT_Model7 <- lm(transAcc ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord + Incoord*Hull_bVSD_25, data = AcousticData)
## Model 7 Assumption Check
performance::check_model(OT_Model7)
## Model 7 Summary
summary(OT_Model7)
Call:
lm(formula = transAcc ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b +
VSA_b + vowel_ED_b + Incoord + Incoord * Hull_bVSD_25, data = AcousticData)
Residuals:
Min 1Q Median 3Q Max
-41.665 -10.983 4.212 14.044 31.363
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 19.3827 22.9018 0.846 0.4036
Hull_bVSD_25 -1.7865 1.2973 -1.377 0.1780
Hull_bVSD_75 0.8920 2.2093 0.404 0.6891
Hull_b 1.0871 0.8136 1.336 0.1909
VSA_b 6.5883 2.6881 2.451 0.0199 *
vowel_ED_b 4.3440 13.1935 0.329 0.7441
Incoord1 -16.7140 19.2373 -0.869 0.3914
Hull_bVSD_25:Incoord1 0.2417 1.0905 0.222 0.8260
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 21.33 on 32 degrees of freedom
Multiple R-squared: 0.347, Adjusted R-squared: 0.2042
F-statistic: 2.429 on 7 and 32 DF, p-value: 0.04086
## Model 6 and Model 7 Comparison
anova(OT_Model6, OT_Model7)
Analysis of Variance Table
Model 1: transAcc ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord
Model 2: transAcc ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord + Incoord * Hull_bVSD_25
Res.Df RSS Df Sum of Sq F Pr(>F)
1 33 14583
2 32 14561 1 22.358 0.0491 0.826
## Specifying Model 8
OT_Model8 <- lm(transAcc ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord + Incoord*Hull_bVSD_25 + Incoord*Hull_bVSD_75, data = AcousticData)
## Model 8 Assumption Check
performance::check_model(OT_Model8)
## Model 8 Summary
summary(OT_Model8)
Call:
lm(formula = transAcc ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b +
VSA_b + vowel_ED_b + Incoord + Incoord * Hull_bVSD_25 + Incoord *
Hull_bVSD_75, data = AcousticData)
Residuals:
Min 1Q Median 3Q Max
-41.858 -12.366 6.261 13.135 30.401
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 19.4909 22.7677 0.856 0.3985
Hull_bVSD_25 -1.4002 1.3310 -1.052 0.3009
Hull_bVSD_75 -0.7590 2.6079 -0.291 0.7730
Hull_b 0.9879 0.8132 1.215 0.2336
VSA_b 6.8700 2.6831 2.560 0.0155 *
vowel_ED_b 4.0042 13.1193 0.305 0.7622
Incoord1 -6.3149 21.0758 -0.300 0.7665
Hull_bVSD_25:Incoord1 -1.1508 1.6068 -0.716 0.4792
Hull_bVSD_75:Incoord1 5.4156 4.6125 1.174 0.2493
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 21.21 on 31 degrees of freedom
Multiple R-squared: 0.3748, Adjusted R-squared: 0.2135
F-statistic: 2.323 on 8 and 31 DF, p-value: 0.04412
## Model 7 and Model 8 Comparison
anova(OT_Model7, OT_Model8)
Analysis of Variance Table
Model 1: transAcc ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord + Incoord * Hull_bVSD_25
Model 2: transAcc ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord + Incoord * Hull_bVSD_25 + Incoord * Hull_bVSD_75
Res.Df RSS Df Sum of Sq F Pr(>F)
1 32 14561
2 31 13941 1 619.94 1.3786 0.2493
## Specifying Model 9
OT_Model9 <- lm(transAcc ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord + Incoord*Hull_bVSD_25 + Incoord*Hull_bVSD_75 + Incoord*Hull_b, data = AcousticData)
## Model 9 Assumption Check
performance::check_model(OT_Model9)
## Model 9 Summary
summary(OT_Model9)
Call:
lm(formula = transAcc ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b +
VSA_b + vowel_ED_b + Incoord + Incoord * Hull_bVSD_25 + Incoord *
Hull_bVSD_75 + Incoord * Hull_b, data = AcousticData)
Residuals:
Min 1Q Median 3Q Max
-43.387 -11.747 5.389 14.794 30.552
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 22.2613 23.3541 0.953 0.3481
Hull_bVSD_25 -0.8239 1.6003 -0.515 0.6104
Hull_bVSD_75 -1.1104 2.6847 -0.414 0.6821
Hull_b 0.5095 1.0933 0.466 0.6446
VSA_b 6.9293 2.7092 2.558 0.0158 *
vowel_ED_b 5.4227 13.4118 0.404 0.6888
Incoord1 -22.3892 32.2682 -0.694 0.4931
Hull_bVSD_25:Incoord1 -2.4414 2.5348 -0.963 0.3432
Hull_bVSD_75:Incoord1 6.0684 4.7580 1.275 0.2120
Hull_b:Incoord1 1.1098 1.6753 0.662 0.5128
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 21.4 on 30 degrees of freedom
Multiple R-squared: 0.3838, Adjusted R-squared: 0.199
F-statistic: 2.076 on 9 and 30 DF, p-value: 0.06468
## Model 8 and Model 9 Comparison
anova(OT_Model8, OT_Model9)
Analysis of Variance Table
Model 1: transAcc ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord + Incoord * Hull_bVSD_25 + Incoord * Hull_bVSD_75
Model 2: transAcc ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord + Incoord * Hull_bVSD_25 + Incoord * Hull_bVSD_75 +
Incoord * Hull_b
Res.Df RSS Df Sum of Sq F Pr(>F)
1 31 13941
2 30 13740 1 200.96 0.4388 0.5128
## Specifying Model 10
OT_Model10 <- lm(transAcc ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord + Incoord*Hull_bVSD_25 + Incoord*Hull_bVSD_75 + Incoord*Hull_b + Incoord*VSA_b, data = AcousticData)
## Model 10 Assumption Check
performance::check_model(OT_Model10)
## Model 10 Summary
summary(OT_Model10)
Call:
lm(formula = transAcc ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b +
VSA_b + vowel_ED_b + Incoord + Incoord * Hull_bVSD_25 + Incoord *
Hull_bVSD_75 + Incoord * Hull_b + Incoord * VSA_b, data = AcousticData)
Residuals:
Min 1Q Median 3Q Max
-43.360 -12.039 5.446 15.103 30.988
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 22.5101 23.8532 0.944 0.353
Hull_bVSD_25 -0.8290 1.6280 -0.509 0.614
Hull_bVSD_75 -1.1292 2.7353 -0.413 0.683
Hull_b 0.4795 1.1439 0.419 0.678
VSA_b 7.3071 4.3698 1.672 0.105
vowel_ED_b 5.0854 13.9703 0.364 0.718
Incoord1 -21.7310 33.3409 -0.652 0.520
Hull_bVSD_25:Incoord1 -2.3862 2.6248 -0.909 0.371
Hull_bVSD_75:Incoord1 6.0316 4.8495 1.244 0.224
Hull_b:Incoord1 1.1357 1.7194 0.660 0.514
VSA_b:Incoord1 -0.5224 4.6911 -0.111 0.912
Residual standard error: 21.76 on 29 degrees of freedom
Multiple R-squared: 0.3841, Adjusted R-squared: 0.1717
F-statistic: 1.809 on 10 and 29 DF, p-value: 0.1038
## Model 9 and Model 10 Comparison
anova(OT_Model9, OT_Model10)
Analysis of Variance Table
Model 1: transAcc ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord + Incoord * Hull_bVSD_25 + Incoord * Hull_bVSD_75 +
Incoord * Hull_b
Model 2: transAcc ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord + Incoord * Hull_bVSD_25 + Incoord * Hull_bVSD_75 +
Incoord * Hull_b + Incoord * VSA_b
Res.Df RSS Df Sum of Sq F Pr(>F)
1 30 13740
2 29 13734 1 5.8732 0.0124 0.9121
## Specifying Model 11
OT_Model11 <- lm(transAcc ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord + Incoord*Hull_bVSD_25 + Incoord*Hull_bVSD_75 + Incoord*Hull_b + Incoord*VSA_b + Incoord*vowel_ED_b, data = AcousticData)
## Model 11 Assumption Check
performance::check_model(OT_Model11)
## Model 11 Summary
summary(OT_Model11)
## Model 10 and Model 11 Comparison
anova(OT_Model10, OT_Model11)
Since we found significant group differences for some acoustic measures between the ALS/PD and Ataxic/HD groups, we continued the hierarchical regression approach from VAS Model 5. VAS Model 6 fit significantly better than VAS Model 5. However, adding in the interactions between Incoord and the acoustic measures did not significantly improve model fit.
## Specifying Model 6
VAS_Model6 <- lm(VAS ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b + Incoord, data = AcousticData)
## Model 6 Assumption Check
performance::check_model(VAS_Model6)
## Model 6 Summary
summary(VAS_Model6)
Call:
lm(formula = VAS ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b +
vowel_ED_b + Incoord, data = AcousticData)
Residuals:
Min 1Q Median 3Q Max
-41.188 -13.751 2.167 16.256 36.926
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 8.6850 22.7911 0.381 0.7056
Hull_bVSD_25 -2.1615 1.2891 -1.677 0.1030
Hull_bVSD_75 1.7100 2.3186 0.738 0.4660
Hull_b 1.2359 0.8613 1.435 0.1607
VSA_b 7.4668 2.8698 2.602 0.0138 *
vowel_ED_b 5.5718 13.9135 0.400 0.6914
Incoord1 -17.9628 8.2919 -2.166 0.0376 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 22.79 on 33 degrees of freedom
Multiple R-squared: 0.3632, Adjusted R-squared: 0.2474
F-statistic: 3.137 on 6 and 33 DF, p-value: 0.0152
## Model 5 and Model 6 Comparison
anova(VAS_Model5, VAS_Model6)
Analysis of Variance Table
Model 1: VAS ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b
Model 2: VAS ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord
Res.Df RSS Df Sum of Sq F Pr(>F)
1 34 19572
2 33 17135 1 2436.7 4.6929 0.03761 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
## Specifying Model 7
VAS_Model7 <- lm(VAS ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord + Incoord*Hull_bVSD_25, data = AcousticData)
## Model 7 Assumption Check
performance::check_model(VAS_Model7)
## Model 7 Summary
summary(VAS_Model7)
Call:
lm(formula = VAS ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b +
vowel_ED_b + Incoord + Incoord * Hull_bVSD_25, data = AcousticData)
Residuals:
Min 1Q Median 3Q Max
-42.039 -14.972 3.129 15.900 35.174
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 13.6424 24.7265 0.552 0.5850
Hull_bVSD_25 -2.4451 1.4006 -1.746 0.0905 .
Hull_bVSD_75 1.4646 2.3853 0.614 0.5435
Hull_b 1.3009 0.8784 1.481 0.1484
VSA_b 7.5218 2.9023 2.592 0.0143 *
vowel_ED_b 4.3193 14.2447 0.303 0.7637
Incoord1 -28.4451 20.7701 -1.370 0.1804
Hull_bVSD_25:Incoord1 0.6494 1.1773 0.552 0.5851
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 23.03 on 32 degrees of freedom
Multiple R-squared: 0.3692, Adjusted R-squared: 0.2312
F-statistic: 2.675 on 7 and 32 DF, p-value: 0.02675
## Model 6 and Model 7 Comparison
anova(VAS_Model6, VAS_Model7)
Analysis of Variance Table
Model 1: VAS ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord
Model 2: VAS ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord + Incoord * Hull_bVSD_25
Res.Df RSS Df Sum of Sq F Pr(>F)
1 33 17135
2 32 16973 1 161.37 0.3042 0.5851
## Specifying Model 8
VAS_Model8 <- lm(VAS ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord + Incoord*Hull_bVSD_25 + Incoord*Hull_bVSD_75, data = AcousticData)
## Model 8 Assumption Check
performance::check_model(VAS_Model8)
## Model 8 Summary
summary(VAS_Model8)
Call:
lm(formula = VAS ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b +
vowel_ED_b + Incoord + Incoord * Hull_bVSD_25 + Incoord *
Hull_bVSD_75, data = AcousticData)
Residuals:
Min 1Q Median 3Q Max
-42.267 -15.867 1.797 15.875 35.281
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 13.7131 24.9259 0.550 0.5862
Hull_bVSD_25 -2.1928 1.4571 -1.505 0.1425
Hull_bVSD_75 0.3863 2.8551 0.135 0.8932
Hull_b 1.2361 0.8903 1.388 0.1749
VSA_b 7.7058 2.9374 2.623 0.0134 *
vowel_ED_b 4.0973 14.3629 0.285 0.7773
Incoord1 -21.6529 23.0737 -0.938 0.3553
Hull_bVSD_25:Incoord1 -0.2601 1.7591 -0.148 0.8834
Hull_bVSD_75:Incoord1 3.5372 5.0497 0.700 0.4889
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 23.22 on 31 degrees of freedom
Multiple R-squared: 0.379, Adjusted R-squared: 0.2188
F-statistic: 2.365 on 8 and 31 DF, p-value: 0.04086
## Model 7 and Model 8 Comparison
anova(VAS_Model7, VAS_Model8)
Analysis of Variance Table
Model 1: VAS ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord + Incoord * Hull_bVSD_25
Model 2: VAS ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord + Incoord * Hull_bVSD_25 + Incoord * Hull_bVSD_75
Res.Df RSS Df Sum of Sq F Pr(>F)
1 32 16973
2 31 16709 1 264.47 0.4907 0.4889
## Specifying Model 9
VAS_Model9 <- lm(VAS ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord + Incoord*Hull_bVSD_25 + Incoord*Hull_bVSD_75 + Incoord*Hull_b, data = AcousticData)
## Model 9 Assumption Check
performance::check_model(VAS_Model9)
## Model 9 Summary
summary(VAS_Model9)
Call:
lm(formula = VAS ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b +
vowel_ED_b + Incoord + Incoord * Hull_bVSD_25 + Incoord *
Hull_bVSD_75 + Incoord * Hull_b, data = AcousticData)
Residuals:
Min 1Q Median 3Q Max
-41.224 -14.209 4.443 15.797 35.400
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 15.9000 25.6576 0.620 0.5401
Hull_bVSD_25 -1.7379 1.7582 -0.988 0.3308
Hull_bVSD_75 0.1089 2.9495 0.037 0.9708
Hull_b 0.8585 1.2011 0.715 0.4803
VSA_b 7.7527 2.9764 2.605 0.0142 *
vowel_ED_b 5.2170 14.7346 0.354 0.7258
Incoord1 -34.3418 35.4508 -0.969 0.3404
Hull_bVSD_25:Incoord1 -1.2789 2.7848 -0.459 0.6494
Hull_bVSD_75:Incoord1 4.0525 5.2273 0.775 0.4443
Hull_b:Incoord1 0.8760 1.8406 0.476 0.6376
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 23.51 on 30 degrees of freedom
Multiple R-squared: 0.3837, Adjusted R-squared: 0.1988
F-statistic: 2.075 on 9 and 30 DF, p-value: 0.06485
## Model 8 and Model 9 Comparison
anova(VAS_Model8, VAS_Model9)
Analysis of Variance Table
Model 1: VAS ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord + Incoord * Hull_bVSD_25 + Incoord * Hull_bVSD_75
Model 2: VAS ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord + Incoord * Hull_bVSD_25 + Incoord * Hull_bVSD_75 +
Incoord * Hull_b
Res.Df RSS Df Sum of Sq F Pr(>F)
1 31 16709
2 30 16584 1 125.23 0.2265 0.6376
## Specifying Model 10
VAS_Model10 <- lm(VAS ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord + Incoord*Hull_bVSD_25 + Incoord*Hull_bVSD_75 + Incoord*Hull_b + Incoord*VSA_b, data = AcousticData)
## Model 10 Assumption Check
performance::check_model(VAS_Model10)
## Model 10 Summary
summary(VAS_Model10)
Call:
lm(formula = VAS ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b +
vowel_ED_b + Incoord + Incoord * Hull_bVSD_25 + Incoord *
Hull_bVSD_75 + Incoord * Hull_b + Incoord * VSA_b, data = AcousticData)
Residuals:
Min 1Q Median 3Q Max
-41.129 -14.693 2.991 15.841 36.960
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 16.79076 26.15188 0.642 0.5259
Hull_bVSD_25 -1.75601 1.78484 -0.984 0.3333
Hull_bVSD_75 0.04151 2.99886 0.014 0.9891
Hull_b 0.75103 1.25414 0.599 0.5539
VSA_b 9.10491 4.79089 1.900 0.0674 .
vowel_ED_b 4.00968 15.31664 0.262 0.7953
Incoord1 -31.98544 36.55389 -0.875 0.3888
Hull_bVSD_25:Incoord1 -1.08148 2.87770 -0.376 0.7098
Hull_bVSD_75:Incoord1 3.92085 5.31689 0.737 0.4668
Hull_b:Incoord1 0.96884 1.88513 0.514 0.6112
VSA_b:Incoord1 -1.87019 5.14318 -0.364 0.7188
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 23.86 on 29 degrees of freedom
Multiple R-squared: 0.3865, Adjusted R-squared: 0.1749
F-statistic: 1.827 on 10 and 29 DF, p-value: 0.1001
## Model 9 and Model 10 Comparison
anova(VAS_Model9, VAS_Model10)
Analysis of Variance Table
Model 1: VAS ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord + Incoord * Hull_bVSD_25 + Incoord * Hull_bVSD_75 +
Incoord * Hull_b
Model 2: VAS ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord + Incoord * Hull_bVSD_25 + Incoord * Hull_bVSD_75 +
Incoord * Hull_b + Incoord * VSA_b
Res.Df RSS Df Sum of Sq F Pr(>F)
1 30 16584
2 29 16508 1 75.269 0.1322 0.7188
## Specifying Model 11
VAS_Model11 <- lm(VAS ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord + Incoord*Hull_bVSD_25 + Incoord*Hull_bVSD_75 + Incoord*Hull_b + Incoord*VSA_b + Incoord*vowel_ED_b, data = AcousticData)
## Model 11 Assumption Check
performance::check_model(VAS_Model11)
## Model 11 Summary
summary(VAS_Model11)
Call:
lm(formula = VAS ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b +
vowel_ED_b + Incoord + Incoord * Hull_bVSD_25 + Incoord *
Hull_bVSD_75 + Incoord * Hull_b + Incoord * VSA_b + Incoord *
vowel_ED_b, data = AcousticData)
Residuals:
Min 1Q Median 3Q Max
-40.891 -10.110 1.062 12.791 41.858
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 47.5360 31.4458 1.512 0.1418
Hull_bVSD_25 -2.1672 1.7510 -1.238 0.2261
Hull_bVSD_75 -0.5799 2.9363 -0.198 0.8449
Hull_b 1.0811 1.2341 0.876 0.3885
VSA_b 13.3050 5.2975 2.512 0.0181 *
vowel_ED_b -20.8152 21.1048 -0.986 0.3324
Incoord1 -97.1376 52.9541 -1.834 0.0772 .
Hull_bVSD_25:Incoord1 -1.2486 2.7965 -0.447 0.6587
Hull_bVSD_75:Incoord1 5.3787 5.2378 1.027 0.3133
Hull_b:Incoord1 0.6902 1.8384 0.375 0.7102
VSA_b:Incoord1 -8.4322 6.3726 -1.323 0.1965
vowel_ED_b:Incoord1 49.3281 29.7498 1.658 0.1085
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 23.17 on 28 degrees of freedom
Multiple R-squared: 0.4413, Adjusted R-squared: 0.2218
F-statistic: 2.011 on 11 and 28 DF, p-value: 0.06657
## Model 10 and Model 11 Comparison
anova(VAS_Model10, VAS_Model11)
Analysis of Variance Table
Model 1: VAS ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord + Incoord * Hull_bVSD_25 + Incoord * Hull_bVSD_75 +
Incoord * Hull_b + Incoord * VSA_b
Model 2: VAS ~ Hull_bVSD_25 + Hull_bVSD_75 + Hull_b + VSA_b + vowel_ED_b +
Incoord + Incoord * Hull_bVSD_25 + Incoord * Hull_bVSD_75 +
Incoord * Hull_b + Incoord * VSA_b + Incoord * vowel_ED_b
Res.Df RSS Df Sum of Sq F Pr(>F)
1 29 16508
2 28 15032 1 1476 2.7493 0.1085
Since VAS Model 6 was significantly better fit than Model 5, we fit a new final parsimonious model for VAS to the data (VAS ~ VSA_b + Incoord) and compared that to the old final VAS model (VAS ~ VSA_b). The new final model was not a significantly better fit than the old final model. Thus the old final model (VAS ~ VSA_b) is retained.
## Specifying New Final VAS Model
VAS_Model_newfinal <- lm(VAS ~ VSA_b + Incoord, data = AcousticData)
## New Final VAS Model Assumption Check
performance::check_model(VAS_Model_newfinal)
## New Final VAS Model Summary
summary(VAS_Model_newfinal)
Call:
lm(formula = VAS ~ VSA_b + Incoord, data = AcousticData)
Residuals:
Min 1Q Median 3Q Max
-42.770 -17.018 3.197 18.896 40.044
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 25.305 8.498 2.978 0.005097 **
VSA_b 7.680 1.925 3.990 0.000301 ***
Incoord1 -14.624 7.873 -1.858 0.071190 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 22.54 on 37 degrees of freedom
Multiple R-squared: 0.3012, Adjusted R-squared: 0.2635
F-statistic: 7.975 on 2 and 37 DF, p-value: 0.001319
## Comparison to Old Final Model
anova(VAS_Model_final, VAS_Model_newfinal)
Analysis of Variance Table
Model 1: VAS ~ VSA_b
Model 2: VAS ~ VSA_b + Incoord
Res.Df RSS Df Sum of Sq F Pr(>F)
1 38 20556
2 37 18802 1 1753.6 3.4509 0.07119 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Because some correlations between predictors are high. We run a series of simple linear regressions to test if the predictors significantly predict each intelligibility measure on their own (VSD 25 and VSA models were already complete in our initial model comparison approach)
# OT ~ VSD 75
OT_vsd75_model <- lm(transAcc ~ Hull_bVSD_75, data = AcousticData)
performance::check_model(OT_vsd75_model)
summary(OT_vsd75_model)
# OT ~ Hull
OT_hull_model <- lm(transAcc ~ Hull_b, data = AcousticData)
performance::check_model(OT_hull_model)
summary(OT_hull_model)
# OT ~ Corner Dispersion
OT_disp_model <- lm(transAcc ~ vowel_ED_b, data = AcousticData)
performance::check_model(OT_disp_model)
summary(OT_disp_model)
# VAS ~ VSD 75
VAS_vsd75_model <- lm(VAS ~ Hull_bVSD_75, data = AcousticData)
performance::check_model(VAS_vsd75_model)
summary(VAS_vsd75_model)
# VAS ~ Hull
VAS_hull_model <- lm(VAS ~ Hull_b, data = AcousticData)
performance::check_model(VAS_hull_model)
summary(VAS_hull_model)
# VAS ~ Corner Dispersion
VAS_disp_model <- lm(VAS ~ vowel_ED_b, data = AcousticData)
performance::check_model(VAS_disp_model)
summary(VAS_disp_model)
ListenerDemo <- Listeners %>%
furniture::table1(age, gender, race, ethnicity)
ListenerDemo
SpeakerDemo <- AcousticData %>%
dplyr::select(c(Speaker, Sex, Etiology))
Ages <- rio::import("Prepped Data/Speaker Ages.xlsx")
SpeakerDemo <- full_join(SpeakerDemo, Ages, by = "Speaker")
SpeakerDemoInfo <- SpeakerDemo %>%
furniture::table1(Sex, Etiology, Age, na.rm = F)
SpeakerDemoInfo
SpeakerDemo %>%
dplyr::summarize(mean_age = mean(Age, na.rm = T), age_sd = sd(Age, na.rm = T), age_range = range(Age, na.rm = T))